package com.shrct.businessprocess.project;

import com.shrct.businessprocess.project.RCSalesCommissionYearConfig;
import com.shrct.businessprocess.project.impl.RCSalesCommissionOverflowConfigItemImpl;
import com.shrct.businessprocess.project.proxy.RCSalesCommissionOverflowConfigItemProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;

@EntityImplementation(implementBy = RCSalesCommissionOverflowConfigItemImpl.class)
public interface RCSalesCommissionOverflowConfigItem extends IModelObject {
  public abstract RCSalesCommissionYearConfig getConfig();
  
  public abstract RCSalesCommissionOverflowConfigItem setConfig(final RCSalesCommissionYearConfig config);
  
  public abstract Double getMultiple();
  
  public abstract RCSalesCommissionOverflowConfigItem setMultiple(final Double multiple);
  
  public abstract Double getRate();
  
  public abstract RCSalesCommissionOverflowConfigItem setRate(final Double rate);
  
  public abstract void update(final Procedure1<? super RCSalesCommissionOverflowConfigItem> updater);
  
  public abstract void checkValid();
  
  public abstract RCSalesCommissionOverflowConfigItemProxy toProxy();
}
